package org.example.com.zwh.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 商品实体类
 * 对应数据库表 t_product
 */
@Data
@TableName("t_product")
public class Product {
    /**
     * 主键ID (数据库自增)
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 商品名称 (数据库列 product_name)
     */
    @TableField("product_name")
    private String name;

    /**
     * 商品价格 (精度：10位总数，2位小数)
     */
    private BigDecimal price;

    /**
     * 库存数量
     */
    private Integer stock;

    /**
     * 商品描述
     */
    private String description;

    /**
     * 创建时间 (首次插入时自动填充)
     */
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime;

    /**
     * 更新时间 (插入/更新时自动填充)
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;

    /**
     * 逻辑删除标志 (0-正常，1-删除)
     */
    @TableLogic
    private Integer deleted;

    /**
     * 商品状态 (0-下架，1-上架)
     */
    private Integer status;
}